package br.com.egg.finances.view;

import java.util.List;

import br.com.egg.finances.business.dao.DAOFactory;
import br.com.egg.finances.model.Crediario;
import br.com.egg.finances.model.Parcela;

public class ParcelaBean extends EntityBean {

	private Crediario crediario;
	private List<Parcela> parcelaList;
	private Parcela parcela;

	public Crediario getCrediario() {
		if (crediario == null) {
			crediario = (Crediario) getSession().getAttribute("CDCREDIARIO_VIEW_PARCELA");
		}
		return crediario;
	}

	public void setCrediario(Crediario crediario) {
		this.crediario = crediario;
	}

	public List<Parcela> getParcelaList() {
		if (parcelaList == null) {
			parcelaList = DAOFactory.getCrediarioDAO().findAllParcelas(retornaUsuarioSession().getCdUsuario(), ((Crediario) getSession().getAttribute("CDCREDIARIO_VIEW_PARCELA")).getCdCrediario());
		}
		return parcelaList;
	}

	public void setParcelaList(List<Parcela> parcelaList) {
		this.parcelaList = parcelaList;
	}

	public Parcela getParcela() {
		return parcela;
	}

	public void setParcela(Parcela parcela) {
		this.parcela = parcela;
	}

	public String viewParcelas() {
		parcelaList = DAOFactory.getCrediarioDAO().findAllParcelas(retornaUsuarioSession().getCdUsuario(), crediario.getCdCrediario());
		getSession().setAttribute("CDCREDIARIO_VIEW_PARCELA", crediario);
		return "viewParcelas.xhtml";
	}

	public String pagarParcela() {
		try {
			DAOFactory.getCrediarioDAO().pagarParcela(retornaUsuarioSession().getCdUsuario(), parcela.getCdCrediario(), parcela.getNuParcela(), parcela.getCdConta());

			parcelaList = null;
			parcela = null;

			adicionaMensagemSucesso("Parcela paga com sucesso.");
		} catch (Exception e) {
			trataException(e);
		}

		return "viewParcelas.xhtml";
	}

}
